import { z } from "zod"

export const inputParamsSchema = {
  "device_id": z.string().describe("The id of the device this command is targeting. If not supplied, the user's currently active device is the target.").optional(),
  "context_uri": z.string().describe("Optional. Spotify URI of the context to play.\nValid contexts are albums, artists & playlists.\n`{context_uri:\"spotify:album:1Je1IMUlBXcx1Fz0WE7oPT\"}`\n").optional(),
  "uris": z.array(z.string()).describe("Optional. A JSON array of the Spotify track URIs to play.\nFor example: `{\"uris\": [\"spotify:track:4iV5W9uYEdYUVa79Axb7Rh\", \"spotify:track:1301WleyT98MSxVHPZCA6M\"]}`\n").optional(),
  "offset": z.record(z.any()).describe("<llm-instruction>This part of the input schema is truncated. If you want to pass the property `offset` to the tool, first call the tool `expandSchema` with \"/properties/offset\" in the list of pointers. This will return the expanded input schema which you can then use in the tool call. You may have to call `expandSchema` multiple times if the schema is nested.</llm-instruction>\n<property-description>Optional. Indicates from where in the context playback should start. Only available when context_uri corresponds to an album or playlist object\n\"position\" is zero based and can’t be negative. Example: `\"offset\": {\"position\": 5}`\n\"uri\" is a string representing the uri of the item to start at. Example: `\"offset\": {\"uri\": \"spotify:track:1301WleyT98MSxVHPZCA6M\"}`\n</property-description>").optional(),
  "position_ms": z.number().int().describe("Indicates from what position to start playback. Must be a positive number. Passing in a position that is greater than the length of the track will cause the player to start playing the next song.\n").optional()
}